home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 July & August / PCWorld_2006-07-08_cd.bin / v cisle / acehtml / acehtmlfreeware.exe / scriptdef / overlib.js < prev    next >
Text File  |  2004-09-10  |  9KB  |  288 lines

  1. ////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. //    ATTENTION NETSCAPE NAVIGATOR 3.0 USERS!!!
  4. //
  5. //    If you see this text while using the site and you did NOT click on
  6. //    View -> Source, you're using a buggy browser.
  7. //
  8. //    FOLLOW THESE STEPS
  9. //
  10. //    Read through these two steps before doing them.
  11. //    1. Press your BACK BUTTON.
  12. //    2. Click on REFRESH or RELOAD.
  13. //
  14. //    You should now be able to use the site without seeing this message.
  15. //    This problem can however return if your browser does not cache this
  16. //    document correctly.
  17. //
  18. //    UPGRADE YOUR BROWSER
  19. //
  20. //    Upgrade your browser to Netscape's latest and you will not have this
  21. //    problem any more.
  22. //
  23. //    Netscape browsers can be found at http://home.netscape.com/
  24. //
  25. ////////////////////////////////////////////////////////////////////////////////////
  26.  
  27. ////////////////////////////////////////////////////////////////////////////////////
  28. //  overLIB 2.22  --  Please leave this notice.
  29. //
  30. //  By Erik Bosrup (erik@bosrup.com)  Last modified 1999-03-31
  31. //  Portions by Dan Steinman, Landon Bradshaw and Gnowknayme.
  32. //
  33. //  Get the latest version at http://www.bosrup.com/web/overlib/
  34. //
  35. //  This script library was created for my personal usage from the start
  36. //  but then it became so popular I made an easy to use version. It's that
  37. //  version you're using now. Since this is free please don't try to sell
  38. //  this solution to a company claiming it is yours. Give me credit where
  39. //  credit is due and I'll be happy. And I'd love to see any changes you've
  40. //  done to the code. Free to use - don't abuse.
  41. ////////////////////////////////////////////////////////////////////////////////////
  42.  
  43.  
  44. ////////////////////////////////////////////////////////////////////////////////////
  45. // CONFIGURATION
  46. ////////////////////////////////////////////////////////////////////////////////////
  47.  
  48. // Main background color (the large area)
  49. // Usually a bright color (white, yellow etc)
  50.     if (typeof fcolor == 'undefined') { var fcolor = "#CCCCFF";}
  51.     
  52. // Border color and color of caption
  53. // Usually a dark color (black, brown etc)
  54.     if (typeof backcolor == 'undefined') { var backcolor = "#333399";}
  55.     
  56.     
  57. // Text color
  58. // Usually a dark color
  59.     if (typeof textcolor == 'undefined') { var textcolor = "#000000";}
  60.     
  61. // Color of the caption text
  62. // Usually a bright color
  63.     if (typeof capcolor == 'undefined') { var capcolor = "#FFFFFF";}
  64.     
  65. // Color of "Close" when using Sticky
  66. // Usually a semi-bright color
  67.     if (typeof closecolor == 'undefined') { var closecolor = "#9999FF";}
  68.     
  69.     
  70. // Width of the popups in pixels
  71. // 100-300 pixels is typical
  72.     if (typeof width == 'undefined') { var width = "200";}
  73.     
  74. // How thick the border should be in pixels
  75. // 1-3 pixels is typical
  76.     if (typeof border == 'undefined') { var border = "1";}
  77.     
  78.     
  79. // How many pixels to the right/left of the cursor to show the popup
  80. // Values between 3 and 12 are best
  81.     if (typeof offsetx == 'undefined') { var offsetx = 10;}
  82.     
  83. // How many pixels to the below the cursor to show the popup
  84. // Values between 3 and 12 are best
  85.     if (typeof offsety == 'undefined') { var offsety = 10;}
  86.     
  87. ////////////////////////////////////////////////////////////////////////////////////
  88. // END CONFIGURATION
  89. ////////////////////////////////////////////////////////////////////////////////////
  90.  
  91. ns4 = (document.layers)? true:false;
  92. ie4 = (document.all)? true:false;
  93.  
  94. // Microsoft Stupidity Check.
  95. if (ie4) {
  96.     if (navigator.userAgent.indexOf('MSIE 5')>0) {
  97.         ie5 = true;
  98.     } else {
  99.         ie5 = false; }
  100. } else {
  101.     ie5 = false;
  102. }
  103.  
  104. var x = 0;
  105. var y = 0;
  106. var snow = 0;
  107. var sw = 0;
  108. var cnt = 0;
  109. var dir = 1;
  110. var tr = 1;
  111. if ( (ns4) || (ie4) ) {
  112.     if (ns4) over = document.overDiv;
  113.     if (ie4) over = overDiv.style;
  114.     document.onmousemove = mouseMove;
  115.     if (ns4) document.captureEvents(Event.MOUSEMOVE);
  116. }
  117.  
  118. // Public functions to be used on pages.
  119.  
  120. // Simple popup right
  121. function drs(text) {
  122.     dts(1,text);
  123. }
  124.  
  125. // Caption popup right
  126. function drc(text, title) {
  127.     dtc(1,text,title);
  128. }
  129.  
  130. // Sticky caption right
  131. function src(text,title) {
  132.     stc(1,text,title);
  133. }
  134.  
  135. // Simple popup left
  136. function dls(text) {
  137.     dts(0,text);
  138. }
  139.  
  140. // Caption popup left
  141. function dlc(text, title) {
  142.     dtc(0,text,title);
  143. }
  144.  
  145. // Sticky caption left
  146. function slc(text,title) {
  147.     stc(0,text,title);
  148. }
  149.  
  150. // Simple popup center
  151. function dcs(text) {
  152.     dts(2,text);
  153. }
  154.  
  155. // Caption popup center
  156. function dcc(text, title) {
  157.     dtc(2,text,title);
  158. }
  159.  
  160. // Sticky caption center
  161. function scc(text,title) {
  162.     stc(2,text,title);
  163. }
  164.  
  165. // Clears popups if appropriate
  166. function nd() {
  167.     if ( cnt >= 1 ) { sw = 0; };
  168.     if ( (ns4) || (ie4) ) {
  169.         if ( sw == 0 ) {
  170.             snow = 0;
  171.             hideObject(over);
  172.         } else {
  173.             cnt++;
  174.         }
  175.     }
  176. }
  177.  
  178. // Non public functions. These are called by other functions etc.
  179.  
  180. // Simple popup
  181. function dts(d,text) {
  182.     txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=\""+backcolor+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=\""+fcolor+"\"><TR><TD><FONT FACE=\"Arial,Helvetica\" COLOR=\""+textcolor+"\" SIZE=\"-2\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";
  183.     layerWrite(txt);
  184.     dir = d;
  185.     disp();
  186. }
  187.  
  188. // Caption popup
  189. function dtc(d,text, title) {
  190.     txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=\""+backcolor+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><SPAN ID=\"PTT\"><B><FONT COLOR=\""+capcolor+"\">"+title+"</FONT></B></SPAN></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=\""+fcolor+"\"><TR><TD><SPAN ID=\"PST\"><FONT COLOR=\""+textcolor+"\">"+text+"</FONT><SPAN></TD></TR></TABLE></TD></TR></TABLE>";
  191.     layerWrite(txt);
  192.     dir = d;
  193.     disp();
  194. }
  195.  
  196. // Sticky
  197. function stc(d,text, title) {
  198.     sw = 1;
  199.     cnt = 0;
  200.     txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=\""+backcolor+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><SPAN ID=\"PTT\"><B><FONT COLOR=\""+capcolor+"\">"+title+"</FONT></B></SPAN></TD><TD ALIGN=RIGHT><A HREF=\"/\" onMouseOver=\"cClick();\" ID=\"PCL\"><FONT COLOR=\""+closecolor+"\">Close</FONT></A></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=\""+fcolor+"\"><TR><TD><SPAN ID=\"PST\"><FONT COLOR=\""+textcolor+"\">"+text+"</FONT><SPAN></TD></TR></TABLE></TD></TR></TABLE>";
  201.     layerWrite(txt);
  202.     dir = d;
  203.     disp();
  204.     snow = 0;
  205. }
  206.  
  207. // Common calls
  208. function disp() {
  209.     if ( (ns4) || (ie4) ) {
  210.         if (snow == 0)     {
  211.             if (dir == 2) { // Center
  212.                 moveTo(over,x+offsetx-(width/2),y+offsety);
  213.             }
  214.             if (dir == 1) { // Right
  215.                 moveTo(over,x+offsetx,y+offsety);
  216.             }
  217.             if (dir == 0) { // Left
  218.                 moveTo(over,x-offsetx-width,y+offsety);
  219.             }
  220.             showObject(over);
  221.             snow = 1;
  222.         }
  223.     }
  224. // Here you can make the text goto the statusbar.
  225. }
  226.  
  227. // Moves the layer
  228. function mouseMove(e) {
  229.     if (ns4) {x=e.pageX; y=e.pageY;}
  230.     if (ie4) {x=event.x; y=event.y;}
  231.     if (ie5) {x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
  232.     if (snow) {
  233.         if (dir == 2) { // Center
  234.             moveTo(over,x+offsetx-(width/2),y+offsety);
  235.         }
  236.         if (dir == 1) { // Right
  237.             moveTo(over,x+offsetx,y+offsety);
  238.         }
  239.         if (dir == 0) { // Left
  240.             moveTo(over,x-offsetx-width,y+offsety);
  241.         }
  242.     }
  243. }
  244.  
  245. // The Close onMouseOver function for Sticky
  246. function cClick() {
  247.     hideObject(over);
  248.     sw=0;
  249. }
  250.  
  251. // Writes to a layer
  252. function layerWrite(txt) {
  253.         if (ns4) {
  254.                 var lyr = document.overDiv.document;
  255.                 lyr.write(txt);
  256.                 lyr.close();
  257.         }
  258.         else if (ie4) document.all["overDiv"].innerHTML = txt;
  259.         if (tr) { trk(); }
  260. }
  261.  
  262. // Make an object visible
  263. function showObject(obj) {
  264.         if (ns4) obj.visibility = "show";
  265.         else if (ie4) obj.visibility = "visible";
  266. }
  267.  
  268. // Hides an object
  269. function hideObject(obj) {
  270.         if (ns4) obj.visibility = "hide";
  271.         else if (ie4) obj.visibility = "hidden";
  272. }
  273.  
  274. // Move a layer
  275. function moveTo(obj,xL,yL) {
  276.         obj.left = xL;
  277.         obj.top = yL;
  278. }
  279.  
  280. function trk() {
  281.     if ( (ns4) || (ie4) ) {
  282.             nt=new Image(32,32); nt.src="http://www.nedstat.nl/cgi-bin/nedstat.gif?name=ol2t";
  283.             bt=new Image(1,1); bt.src="http://www.bosrup.com/web/overlib/o2/tr.gif";
  284.             refnd=new Image(1,1); refnd.src="http://www.nedstat.nl/cgi-bin/referstat.gif?name=ol2t&refer="+escape(top.document.referrer);
  285.             
  286.     }
  287.     tr = 0;
  288. }